The Route 9 Landscape Products web application is an online platform designed to establish a strong online presence for a landscape products store. The platform includes a customer-facing application providing up-to-date inventory, detailed product information, and a robust admin application for managing content.
Key Features
- Customer-Facing Application:
- Up-to-date Inventory: Provides real-time inventory updates, helping customers know the availability of products.
- Detailed Product Descriptions: Offers comprehensive information about each product, including images and descriptions.
- Google Maps Integration: Includes an interactive map to help customers locate the store easily.
- Contact Information: Provides easily accessible contact details for the store.
- Responsive Design: Ensures a seamless user experience across various devices and screen sizes.
- Admin Application
- Content Management: Allows administrators to update product information, inventory details, and other website content.
- User Authentication: Ensures that only authorized personnel can access the admin functionalities.
- Responsive Design: Ensures the interface is user-friendly and works well on various devices.
Technologies Used
NextJS & TypeScript, Drizzle ORM for database management, PostgreSQL for data storage, Clerk/NextJS for user management and authentication, Tailwind CSS for styling, Google Maps JS API for map integration (customer-facing app), Shadcn UI for well-designed, open source, accessible, and customizable components, Vercel for hosting
Purpose and Goal
To create an online presence for Route 9 Landscape Products and provide customers with up-to-date inventory, detailed product information, contact details, and general store information. Additionally, to provide store administrators with a robust and easy-to-use platform for managing and updating website content.
Role
Sole developer and project owner: Managed all aspects of the Route 9 Landscape Products project from conception to deployment.
Technical Hurdles
- I challenged myself to learn server actions to take advantage of the performance benefits when performing CRUD operations on product content.
- I am also awaiting the client's decision to add secure payments, which will be an exciting challenge I look forward to.
Solutions
- I was able to successfully implement server-actions, which allowed me to modify data on the server directly from the frontend when performing CRUD operations.